Distributed computer systems of the type at issue have long been known and are increasingly used in almost all areas of engineering, especially in those areas in which complex, spatially extensive processes are to be controlled in the broadest sense.
In modern measurement, regulation and control systems, central computer systems with distributed sensors and actuators are being increasingly replaced by distributed computer systems, in which several spatially distributed computing nodes assume local process control tasks and are connected directly to the process being influenced via the corresponding computing nodes (i.e., on a short path) by means of corresponding sensors and actuators. In the case of control, the local partial processes of an overall process are functionally linked to each other, so that it is useful or even necessary to connect the computing nodes allocated to the partial processes to each other via a data channel, so that the quantities of state that describe the process, which are not available at all computing nodes, can be exchanged between computing nodes and then utilized locally by any computing node for process control.
Depending on the field of application, different requirements are imposed on distributed computer systems, for example, with reference to data throughput via the data channel, expandability with respect to architecture and functionality, reliability and error tolerance of communication and reliable time scheduling capability of the functionality implemented on the distributed computer system, but also with respect to physical transmission medium of the data channel. From these sometimes contradictory requirements on a distributed computer system, different systems have emerged over time that are geared to these demands to quite different degrees; LIN, CAN, TTCAN, MOST, Bluetooth, Byteflight, TTP and FlexRay can be mentioned here as examples.
It is apparent from the examples just mentioned that the computing nodes of the distributed computer system can be any technical units that are capable of electronically performing calculations in the general sense; computing nodes can be control devices with connected sensors and actuators, or just as much they can be less capable field devices of a simple home installation system or extremely high-performance modules of a simulation computer.
The configuration of the data channel or data channels connecting the computing nodes is of no more importance than the area of application and the precise technical configuration of the computing nodes of the distributed computer system; it is only essential that the computing nodes can exchange messages via the data channel, which is physically configured and arbitrarily configured in terms of the employed communications protocol.
In the area of highly dynamic processes with increased reliability requirements (automotive, avionics, X-by-Wire applications), time-controlled distributed computer systems are being increasingly used, like TTCAN (time-triggered CAN), TTP (time-triggered protocol) and FlexRay, whose time behavior, which applies to the design of the functionality on the individual computing nodes and exchange of data via the data channel between the computing nodes, can be at least partially scheduled and stipulated, so that the time behavior can also be guaranteed.
Communication via the data channel of a time-controlled distributed computer system can also be event-controlled at specific time intervals, which means random events and processes can arbitrarily occupy the data channel in certain well defined time intervals (time slots), but occupation of the data channel for information exchange between the computing nodes of the distributed computer system is strictly scheduled in other time intervals. This means that in the time spaces not provided for event-driven execution of functionality on the computing nodes and communication between the computing nodes, precisely stipulated computing nodes may only send precisely defined messages for precisely defined purposes at precisely defined times, and can also do this with certainty, since event-driven data exchange at these times is suppressed between nodes. Because of these properties, time-controlled distributed computer systems are especially suited for implementation of time-discrete scanning systems, which are based on a strictly periodic sequence of receipt of actual input values (especially from other computing nodes), calculation of output value/signals and release of the output value.
Stipulation of the time behavior of the time-controlled computer system ordinarily occurs through a schedule, in which it is precisely established which elements of the distributed computer system execute which elements of the functionality to be performed by means of the computer system in which specific time sequence.
It can easily be imagined that the design of such a schedule, based on the enormous number of degrees of freedom, in order to assign functional elements—i.e., partial functions-structural elements—i.e., computing nodes or subunits of a computing node—or in order to arrange functional elements in time relative to each other, represents a problem that is extremely difficult to grasp and solve, especially when not just any valid solution is to be found for the schedule from the set of all possible solutions, but an optimal solution according to specified criteria.
For example, it is known from the prior art to provide a graphic planning editor to facilitate the design of such a schedule, which makes it possible to graphically relate the individual structural and functional elements of the distributed computer system being planned and bring it into an overall time schedule, in which planning, however, is additionally supported by a so-called worst case execution time analysis (WCET analysis), whose result is the statement of the required time to execute a functionality (application, communication) on a specific computing node (Ringler, T: “Development Tool for Time-controlled Systems,” Automotive Engineering Partners, June 2001, pages 54-56).
It is also known to use genetic algorithms for automatic creation of an optimized schedule (DE 102 11 517 A1). The method then starts from a possible solution for a schedule and varies it by several random processes. The additional possible solutions obtained from these random processes for the schedules are subjected to quality evaluation, in which the most appropriate schedule or schedules are then subjected to further random variation, evaluation and selection. By continuing this process, starting from an arbitrary and complete initial solution, i.e., a solution that includes all elements of the time-controlled distributed computer system, as well as its functionality, continuously “better” solutions are found, until the search process is finally interrupted. A drawback in the method, for example, is that one or more (complete) solutions for the schedule must be available as starting point of optimization, in which case no evaluation of the starting solution is possible, and it is also questionable how the starting solution is to be found.